package com.zhonghui.wms.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhonghui.common.annotation.Excel;
import com.zhonghui.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 智能仓储WMS-补货申请对象 wms_replenishment_application
 * 
 * @author qiezi
 * @date 2023-12-18
 */
public class WmsReplenishmentApplication extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @Excel(name = "主键")
    private String id;

    /** 单据号 */
    @Excel(name = "单据号")
    private String documentNumber;

    /** 状态：0未采购1采购中2已采购 */
    @Excel(name = "状态：0未采购1采购中2已采购")
    private Long status;

    /** 申请人 */
    @Excel(name = "申请人")
    private Long applicant;

    /** 申请日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applicationDate;

    /** 申请状态：0未提交1待审核2已审核 */
    @Excel(name = "申请状态：0未提交1待审核2已审核")
    private Long applicationStatus;

    /** 审核人 */
    @Excel(name = "审核人")
    private Long approved;

    /** 审核日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date approvedDate;

    /** 审核状态：0驳回1通过 */
    @Excel(name = "审核状态：0驳回1通过")
    private Long approvedStatus;

    /** 审核意见 */
    @Excel(name = "审核意见")
    private String approvedComments;

    /** 生成采购申请 */
    private Long purchaseApplyFlag;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setDocumentNumber(String documentNumber) 
    {
        this.documentNumber = documentNumber;
    }

    public String getDocumentNumber() 
    {
        return documentNumber;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setApplicant(Long applicant) 
    {
        this.applicant = applicant;
    }

    public Long getApplicant() 
    {
        return applicant;
    }
    public void setApplicationDate(Date applicationDate) 
    {
        this.applicationDate = applicationDate;
    }

    public Date getApplicationDate() 
    {
        return applicationDate;
    }
    public void setApplicationStatus(Long applicationStatus) 
    {
        this.applicationStatus = applicationStatus;
    }

    public Long getApplicationStatus() 
    {
        return applicationStatus;
    }
    public void setApproved(Long approved) 
    {
        this.approved = approved;
    }

    public Long getApproved() 
    {
        return approved;
    }
    public void setApprovedDate(Date approvedDate) 
    {
        this.approvedDate = approvedDate;
    }

    public Date getApprovedDate() 
    {
        return approvedDate;
    }
    public void setApprovedStatus(Long approvedStatus) 
    {
        this.approvedStatus = approvedStatus;
    }

    public Long getApprovedStatus() 
    {
        return approvedStatus;
    }
    public void setApprovedComments(String approvedComments) 
    {
        this.approvedComments = approvedComments;
    }

    public String getApprovedComments() 
    {
        return approvedComments;
    }
    public void setPurchaseApplyFlag(Long purchaseApplyFlag) 
    {
        this.purchaseApplyFlag = purchaseApplyFlag;
    }

    public Long getPurchaseApplyFlag() 
    {
        return purchaseApplyFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("documentNumber", getDocumentNumber())
            .append("status", getStatus())
            .append("applicant", getApplicant())
            .append("applicationDate", getApplicationDate())
            .append("applicationStatus", getApplicationStatus())
            .append("approved", getApproved())
            .append("approvedDate", getApprovedDate())
            .append("approvedStatus", getApprovedStatus())
            .append("approvedComments", getApprovedComments())
            .append("remark", getRemark())
            .append("purchaseApplyFlag", getPurchaseApplyFlag())
            .toString();
    }
}
